namespace Mbl.ParameterizedTest.FluentCollectionBuilding.Expectors.StringExpectations
{
    public class StartsWithExpectation : PredicateExpectation<string>
    {
        private readonly string _expectedStart;

        public StartsWithExpectation(string expectedStart)
            : base(total => total.StartsWith(expectedStart))
        {
            _expectedStart = expectedStart;
        }

        protected override string GetErrorMessage(string actual)
        {
            return $"Expected '{actual}' to start width '{_expectedStart}'";
        }
    }
}